import { BasicColumn, FormSchema } from '@/components/Table';
import { h } from 'vue';
import {Switch, Tag} from 'ant-design-vue';
import {getLevelSelectsApi, getCategorySelectsApi} from '@/api/sys/common';

import { useMessage } from '@/hooks/web/useMessage';
import {downApi, upApi} from "@/api/sys/user";

type CheckedType = boolean | string | number;
export const columns: BasicColumn[] = [
  {
    title: '成员名称',
    dataIndex: 'userName',
  },
  {
    title: '职级',
    dataIndex: 'levelName',
  },
  {
    title: '积分',
    dataIndex: 'integral',
    width: 120,
  },
  {
    title: '签到天数',
    dataIndex: 'continuousNum',
    width: 120,
  },


  // {
  //   title: '是否参与统计',
  //   dataIndex: 'isRead',
  //   width: 120,
  //   customRender: ({ record }) => {
  //     if (!Reflect.has(record, 'pendingStatus')) {
  //       record.pendingStatus = false;
  //     }
  //     return h(Switch, {
  //       checked: record.isRead === 1,
  //       checkedChildren: '参与',
  //       unCheckedChildren: '不参与',
  //       loading: record.pendingStatus,
  //       onChange(checked: CheckedType) {
  //         record.pendingStatus = true;
  //         const newStatus = checked ? 1 : 0;
  //         const { createMessage } = useMessage();
  //         let data={userId:record.userId};
  //
  //         if(record.isRead === 1){
  //           downApi(data).then(() => {
  //             record.isRead = 0;
  //             createMessage.success(`已不参与`);
  //           })
  //             .catch(() => {
  //               createMessage.error('修改状态失败');
  //             })
  //             .finally(() => {
  //               record.pendingStatus = false;
  //             });
  //         }else{
  //           upApi(data).then(() => {
  //             record.isRead = 1;
  //             createMessage.success(`已参与`);
  //           })
  //             .catch(() => {
  //               createMessage.error('修改状态失败');
  //             })
  //             .finally(() => {
  //               record.pendingStatus = false;
  //             });
  //         }
  //       },
  //     });
  //   },
  // },
  
  {
    title: '创建时间',
    dataIndex: 'createTime',
    width: 180,
  },

];

export const searchFormSchema: FormSchema[] = [
  {
    field: 'keyword',
    label: '成员名称',
    component: 'Input',
    colProps: { span: 8 },
  },
  // {
  //   field: 'isRead',
  //   label: '是否参与读书',
  //   component: 'Select',
  //   componentProps: {
  //     options: [
  //       { label: '否', value: '0' },
  //       { label: '是', value: '1' },
  //     ],
  //   },
  //   colProps: { span: 8 },
  // },
];

export const formSchema: FormSchema[] = [
  {
    field: 'userName',
    label: '成员名称',
    required: true,
    component: 'Input',
  },
  {
    label: '职级',
    field: 'levelName',
    component: 'ApiSelect',
    componentProps: {
      api: getLevelSelectsApi,
      // mode:"multiple",
      resultField:"data",
      labelField: 'label',
      valueField: 'value',
    },
    required: true,
  },
  // {
  //   field: 'continuousNum',
  //   label: '连续签到天数',
  //   required: true,
  //   component: 'Input',
  // },
  // {
  //   field: 'isRead',
  //   label: '是否参与读书',
  //   component: 'Select',
  //   componentProps: {
  //     options: [
  //       { label: '否', value: 0 },
  //       { label: '是', value: 1 },
  //     ],
  //   },
  // },
];
